<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <p data-lake-id="ub3ee1c26" id="ub3ee1c26"><strong><span data-lake-id="u5321925d" id="u5321925d">正向代理（forward proxy）：是一个位于客户端和目标服务器之间的服务器(代理服务器)，为了从目标服务器取得内容，客户端向代理服务器发送一个请求并指定目标，然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。</span></strong></p>
  <p data-lake-id="ufb649466" id="ufb649466"><span data-lake-id="ub67f75d6" id="ub67f75d6">​</span><br></p>
  <p data-lake-id="u198ccf86" id="u198ccf86"><span data-lake-id="u7b92fb1b" id="u7b92fb1b">这种代理其实在生活中是比较常见的，比如科学上网技术，其用到的就是正向代理技术。</span></p>
  <p data-lake-id="ub5e2ce92" id="ub5e2ce92"><span data-lake-id="u3a74f7bd" id="u3a74f7bd">​</span><br></p>
  <p data-lake-id="ua890416f" id="ua890416f"><span data-lake-id="uf5c409ce" id="uf5c409ce">有时候，用户想要访问某国外网站，该网站无法在国内直接访问，但是我们可以访问到一个代理服务器，这个代理服务器可以访问到这个国外网站。这样呢，用户对该国外网站的访问就需要通过代理服务器来转发请求，并且该代理服务器也会将请求的响应再返回给用户。这个上网的过程就是用到了正向代理。</span></p>
  <p data-lake-id="u2b55bc92" id="u2b55bc92"><img src="https://cdn.nlark.com/yuque/0/2022/png/5378072/1672210347417-df88f54d-d24f-4088-927f-dc3670b653e0.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_35%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"></p>
  <p data-lake-id="u5c4f48b3" id="u5c4f48b3"><strong><span data-lake-id="uba9c4259" id="uba9c4259">​</span></strong><br></p>
  <p data-lake-id="uc57e4ea9" id="uc57e4ea9"><strong><span data-lake-id="u1efd8cee" id="u1efd8cee">所以，正向代理，其实是”代理服务器”代理了”客户端”，去和”目标服务器”进行交互。</span></strong></p>
  <p data-lake-id="u6a2e2c7c" id="u6a2e2c7c"><span data-lake-id="ueade6ef1" id="ueade6ef1">​</span><br></p>
  <p data-lake-id="ub26b2edc" id="ub26b2edc"><span data-lake-id="ud00536c5" id="ud00536c5">通过正向代理服务器访问目标服务器，目标服务器是不知道真正的客户端是谁的，甚至不知道访问自己的是一个代理。</span></p>
  <p data-lake-id="ue90fa9f6" id="ue90fa9f6"><br></p>
  <p data-lake-id="u17785b7d" id="u17785b7d"><br></p>
  <p data-lake-id="u8ebd4ac9" id="u8ebd4ac9"><strong><span data-lake-id="uc2f0feaa" id="uc2f0feaa">反向代理（reverse proxy）：是指以代理服务器来接受internet上的连接请求，然后将请求转发给内部网络上的服务器，并将从服务器上得到的结果返回给internet上请求连接的客户端，此时代理服务器对外就表现为一个反向代理服务器。</span></strong></p>
  <p data-lake-id="u77f10ea1" id="u77f10ea1"><br></p>
  <p data-lake-id="u34779812" id="u34779812"><span data-lake-id="u2a1ef8f6" id="u2a1ef8f6">对于常用的场景，就是我们在Web开发中用到的负载均衡服务器，客户端发送请求到负载均衡服务器上，负载均衡服务器再把请求转发给一台真正的服务器来执行，再把执行结果返回给客户端。</span></p>
  <p data-lake-id="ubbd9e219" id="ubbd9e219"><img src="https://cdn.nlark.com/yuque/0/2022/png/5378072/1672210367503-a61186b3-7de5-46a1-8af7-7fab9d6eaaab.png?x-oss-process=image%2Fwatermark%2Ctype_d3F5LW1pY3JvaGVp%2Csize_37%2Ctext_SmF2YSA4IEd1IFA%3D%2Ccolor_FFFFFF%2Cshadow_50%2Ct_80%2Cg_se%2Cx_10%2Cy_10"><span data-lake-id="u2ef2932d" id="u2ef2932d">​</span></p>
  <p data-lake-id="u9cff25be" id="u9cff25be"><span data-lake-id="u8345fd24" id="u8345fd24">所以，</span><strong><span data-lake-id="u09e64256" id="u09e64256">反向代理，其实是”代理服务器”代理了”目标服务器”，去和”客户端”进行交互。</span></strong></p>
  <p data-lake-id="u2238a657" id="u2238a657"><span data-lake-id="ub6ee8f08" id="ub6ee8f08">​</span><br></p>
  <p data-lake-id="ucd312270" id="ucd312270"><span data-lake-id="ud18b5bfe" id="ud18b5bfe">通过反向代理服务器访问目标服务器时，客户端是不知道真正的目标服务器是谁的，甚至不知道自己访问的是一个代理。</span></p>
  <p data-lake-id="u9b7e3f7d" id="u9b7e3f7d"><span data-lake-id="ud13932dd" id="ud13932dd">​</span><br></p>
  <p data-lake-id="ua17ea3ae" id="ua17ea3ae"><span data-lake-id="ud7006909" id="ud7006909">​</span><br></p>
  <p data-lake-id="u09fcf2ac" id="u09fcf2ac"><strong><span data-lake-id="ud5e8aec7" id="ud5e8aec7" style="color: #000000">正向代理和反向代理的区别</span></strong></p>
  <p data-lake-id="u06d3dac8" id="u06d3dac8"><br></p>
  <p data-lake-id="u13f9759c" id="u13f9759c"><span data-lake-id="u5213d226" id="u5213d226">虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间，所做的事情也都是把客户端的请求转发给服务器，再把服务器的响应转发给客户端，但是二者之间还是有一定的差异的。</span></p>
  <p data-lake-id="u7daa48f6" id="u7daa48f6"><span data-lake-id="u71808628" id="u71808628">​</span><br></p>
  <p data-lake-id="ufb153818" id="ufb153818"><span data-lake-id="u6577ff18" id="u6577ff18">1、正向代理其实是客户端的代理，帮助客户端访问其无法访问的服务器资源。反向代理则是服务器的代理，帮助服务器做负载均衡，安全防护等。</span></p>
  <p data-lake-id="u4c74c3de" id="u4c74c3de"><span data-lake-id="u3eeb1bd4" id="u3eeb1bd4">2、正向代理，一般是客户端架设的，比如在自己的机器上安装一个代理软件。而反向代理一般是服务器架设的，比如在自己的机器集群中部署一个反向代理服务器。</span></p>
  <p data-lake-id="u5f640471" id="u5f640471"><span data-lake-id="udbd6024a" id="udbd6024a">3、正向代理中，服务器不知道真正的客户端到底是谁，以为访问自己的就是真实的客户端。而在反向代理中，客户端不知道真正的服务器是谁，以为自己访问的就是真实的服务器。</span></p>
  <p data-lake-id="ubdd656ac" id="ubdd656ac"><span data-lake-id="u3cb9502e" id="u3cb9502e">4、正向代理和反向代理的作用和目的不同。正向代理主要是用来解决访问限制问题。而反向代理则是提供负载均衡、安全防护等作用。二者均能提高访问速度。</span></p>
 </body>
</html>